/**
 * 安卓白金英雄坛制作组 <br>
 * 文件名：ItemTemplate.java <br>
 * 创建时间：2014-8-29 下午12:59:30 <br>
 * 所属项目：GmudEX <br>
 * @author 12548 <br>
 */
package lostland.gmud.exv2.data;

import java.util.ArrayList;
import java.util.Collection;

import lostland.gmud.exv2.Gmud;

/**
 * 类名：ItemTemplate <br>
 * 说明：物品模板类
 *
 * @author 12548
 */
public class ItemTemplate {
	/**
	 * 物品模板id
	 */
	int id;
	/**
	 * 物品基本类型
	 */
	int kind;
	/**
	 * 物品子类型
	 */
	int subkind;
	/**
	 * 物品名
	 */
	String name;
	/**
	 * 物品主属性
	 */
	int a3;
	/**
	 * 物品第二属性
	 */
	int a4;
	/**
	 * 物品第三属性
	 */
	int a5;
	/**
	 * a6记录是否可以丢弃和物品的重量等级<br>
	 * -1:不可丢弃；<br>
	 * 1:极轻 2:很轻 3:不轻 4:正常 5:不重 6:很重 7:极重
	 */
	int a6;
	/**
	 * 物品售价
	 */
	int cost;
	/**
	 * 物品描述
	 */
	String des;

	public int findTaskExp = 0;
	public int triggerOnUse = -1;

	int pile = 0;

	public Collection<Integer> texture = new ArrayList<>();

	/**
	 * 女性物品表
	 */
	public static final int female_items[] = new int[]{
			41, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 64
	};

	/**
	 * 物品属性列表<br>
	 * 0食物，0，+food，+water，0，0，cost<br>
	 * 1药物，type，+效果1，0，0，0，cost<br>
	 * 2武器，type，+攻击，+命中，+回避，0，cost (weapon type 1刀 6剑 7杖 9鞭 11拳脚)<br>
	 * 3装备，type，+防御，+命中，+回避，0，cost (equip type 0饰品 2衣 3背心 4披风 5腰带 12劳动工具 10鞋 13日历)<br>
	 * 4书籍， 0，type，require HP，max_level，require EXP，cost<br>
	 * 5其他， 0, 0，0，0，0，cost<br>
	 * [7]为物品最大堆叠数，[8]以后为质地
	 */
	static final int item_attribs[][] = new int[][]{
			// none
			{0, 11, 0, 0, 0, 0, -100, 1},
			// 烤鸡腿
			{0, 0, 160, 0, 0, 0, 30, 30, 1, 2},
			// 包子
			{0, 0, 120, 0, 0, 0, 20, 30, 1, 2},
			// 酥油茶
			{0, 0, 180, 200, 0, 0, 150, 30, 1, 2},
			// 翡翠豆腐
			{0, 0, 160, 0, 0, 0, 55, 30, 1, 2},
			// 猪肉
			{0, 0, 240, 0, 0, 0, 100, 30, 1, 2},
			// 糖葫芦
			{0, 0, 60, 0, 0, 0, 50, 30, 1, 2},
			// 白玉豆腐
			{0, 0, 80, 0, 0, 0, 35, 30, 1, 2},
			// 金创药
			{1, 0, 0, 0, 0, 0, 2000, 30, 3, 4},
			// 生肌膏
			{1, 0, 1, 0, 0, 0, 3000, 30, 3, 4},
			// 海外仙丹
			{1, 1, 5, 0, 0, 0, 3000, 30, 3, 4},
			// 钢刀
			{2, 1, 25, 0, -1, 5, 600, 1, 5, 9},
			// 菜刀
			{2, 1, 17, 0, 0, 5, 100, 1, 5, 9},
			// 匕首
			{2, 6, 5, 0, 0, 4, 50, 1, 5, 9},
			// 檀香扇
			{2, 1, 15, 0, 0, 3, 1500, 1, 3, 4},
			// 护手钩
			{2, 1, 55, 5, -3, 6, 30000, 1, 5, 9},
			// 杀猪刀
			{2, 1, 25, 0, 0, 5, 1000, 1, 5, 9},
			// 长剑
			{2, 6, 25, 0, -1, 5, 600, 1, 5, 9},
			// 缝衣针
			{2, 6, 10, 0, 0, 2, 70, 1, 5, 9},
			// 麻绳
			{2, 9, 1, 0, 0, 2, 0, 1, 3, 4},
			// 园工剪
			{2, 6, 15, 0, 0, 4, 1000, 1, 5, 9},
			// 钢杖
			{2, 7, 28, 0, -2, 6, 700, 1, 5, 9},
			// 长鞭
			{2, 9, 20, 0, 0, 4, 500, 1, 3, 4},
			// 鬼头刀
			{2, 1, 35, 3, 0, 6, 800, 1, 5, 9},
			// 紫金刀
			{2, 1, 55, 0, -2, 7, 20000, 1, 5, 9},
			// 梨花鞭
			{2, 9, 70, 0, -2, 6, 34464, 1, 3, 5},
			// 拂尘
			{2, 9, 35, 0, 0, 5, 20000, 1, 3, 4},
			// 柳玉刀
			{2, 1, 40, 0, -1, 5, 20000, 1, 5, 9},
			// 红拂
			{2, 9, 55, 0, -1, 4, 40000, 1, 3, 4},
			// 白玉萧
			{2, 7, 15, 0, 0, 4, 5500, 1, 3, 4},
			// 花蝶扇
			{2, 1, 35, 0, 0, 6, 9464, 1, 3, 4},
			// 河豚毒
			{2, 1, 55, 0, -2, 7, 50000, 1, 5, 9},
			// 精钢杖
			{2, 7, 35, 0, 0, 7, 5000, 1, 8, 10},
			// 青锋剑
			{2, 6, 65, 0, 0, 6, 7000, 1, 5, 9},
			// 铁拐
			{2, 7, 20, 0, 0, 6, 1000, 1, 8, 10},
			// 铁剑
			{2, 6, 30, 0, 0, 5, 1000, 1, 5, 9},
			// 楚妃剑
			{2, 6, 45, 0, 0, 5, 10000, 1, 5, 9},
			// 凝碧剑
			{2, 6, 60, 0, 0, 5, 30000, 1, 5, 9},
			// 细剑
			{2, 6, 30, 0, 0, 5, 700, 1, 5, 9},
			// 黑衣
			{3, 2, 45, 0, 3, 3, 50000, 1, 14, 15},
			// 老花镜
			{3, 0, 0, 0, 0, 2, 100, 1, 3, 4},
			// 绿牡丹
			{3, 0, 0, 0, 0, 1, 20, 1, 16, 17},
			// 布衣
			{3, 2, 5, 0, 0, 1, 8, 1, 14, 15},
			// 精制布衣
			{3, 2, 15, 0, 0, 1, 500, 1, 14, 15},
			// 皮背心
			{3, 3, 15, 0, -1, 4, 1000, 1, 12, 13},
			// 粉红绸衫
			{3, 2, 10, 0, 0, 1, 600, 1, 14, 15},
			// 红杜鹃
			{3, 0, 0, 0, 0, 1, 20, 1, 16, 17},
			// 绣花小鞋
			{3, 10, 5, 0, 0, 1, 300, 1, 3, 4},
			// 白玫瑰
			{3, 0, 0, 0, 0, 1, 20, 1, 16, 17},
			// 茶花
			{3, 0, 0, 0, 0, 1, 40, 1, 16, 17},
			// 轻花绸衫
			{3, 2, 8, 0, 0, 1, 100, 1, 14, 15},
			// 洒花缎鞋
			{3, 10, 10, 0, 3, 1, 300, 1, 3, 4},
			// 宝蓝缎衫
			{3, 2, 0, 0, 10, 2, 300, 1, 14, 15},
			// 夜行衣
			{3, 2, 0, 0, 6, 1, 14464, 1, 14, 15},
			// 渌水罗衣
			{3, 2, 10, 0, 5, 1, 1500, 1, 14, 15},
			// 轻纱长裙
			{3, 4, 1, 0, 0, 1, 10, 1, 14, 15},
			// 黑眼罩
			{3, 0, 3, 3, 0, 1, 100, 1, 3, 4},
			// 披风
			{3, 4, 5, 0, 2, 1, 2000, 1, 14, 15},
			// 武道服
			{3, 2, 5, 5, 0, 1, 500, 1, 14, 15},
			// 道袍
			{3, 2, 5, 0, 0, 2, 300, 1, 14, 15},
			// 白罗袍
			{3, 2, 15, 0, 0, 2, 400, 1, 14, 15},
			// 绸袍
			{3, 2, 4, 0, 0, 3, 600, 1, 14, 15},
			// 金锁子甲
			{3, 3, 60, 0, -5, 5, 10000, 1, 8, 10},
			// 降魔袍
			{3, 2, 10, 0, 5, 2, 2000, 1, 14, 15},
			// 霓虹羽衣
			{3, 2, 10, 0, 8, 3, 3000, 1, 14, 15},
			// 雪山白袍
			{3, 2, 4, 0, 0, 2, 600, 1, 14, 15},
			// 亮银甲
			{3, 3, 45, 0, -3, 5, 5000, 1, 8, 10},
			// 豹皮
			{3, 3, 40, 0, 0, 3, 5000, 1, 12, 13},
			// 拳经
			{4, 0, 0, 0, 0, 4, 500, 1},
			// 焦黄纸页
			{4, 0, 0, 0, 0, 4, 150, 1},
			// 惊天刀谱
			{4, 0, 0, 0, 0, 4, 150, 1},
			// 手抄本
			{4, 0, 0, 0, 0, 4, 100, 1},
			// 毛笔
			{5, 0, 0, 0, 0, 2, 50, 1, 3, 4},
			// 钓杆
			{3, 12, 0, 0, 0, 2, 300, 1},
			// 鲤鱼
			{0, 0, 250, 0, 0, 0, 250, 30},
			// 牛皮束带
			{3, 5, 2, 0, 2, 3, 5000, 1},
			// 鱼篓
			{5, 0, 0, 0, 0, 1, 100, 1, 3, 4},
			// 石料
			{5, 0, 0, 0, 0, 4, 0, 1},
			// 女儿红
			{5, 0, 0, 0, 0, 4, 380, 30},
			// 屠龙刀
			{2, 1, 88, 5, -10, 7, 30000, 1},
			// 绣花针
			{2, 6, 99, 10, 5, 7, 50000, 1},
			// 菜花宝典
			{4, 0, 0, 0, 0, 4, 1024, 1},
			// 伯通秘籍
			{4, 0, 0, 0, 0, 4, 2045, 1},
			// 少林秘籍
			{4, 0, 0, 0, 0, 4, 2048, 1},
			// 参合秘籍
			{4, 0, 0, 0, 0, 4, 2048, 1},
			// 扳手
			{2, 8, 100, 0, 0, 4, 65535, 1},
			// 绞股蓝
			{1, 2, 0, 0, 0, 0, 3000, 1},
			// 夜夜
			{1, 3, 0, 0, 0, 0, 5000, 1},
			// 不明物体88
			{5, 0, 0, 0, 0, 4, 0, 1},
			// 不明物体89
			{5, 0, 0, 0, 0, 4, 0, 1},
			// 不明物体90
			{5, 0, 0, 0, 0, 4, 0, 1},
			// 不明物体91
			{5, 0, 0, 0, 0, 4, 0, 1},
			// 不明物体92
			{5, 0, 0, 0, 0, 4, 0, 1},
			// 不明物体93
			{5, 0, 0, 0, 0, 4, 0, 1},
			// 不明物体94
			{5, 0, 0, 0, 0, 4, 0, 1},
			// 不明物体95
			{5, 0, 0, 0, 0, 4, 0, 1},
			// 不明物体96
			{5, 0, 0, 0, 0, 4, 0, 1},
			// 不明物体97
			{5, 0, 0, 0, 0, 4, 0, 1},
			// 不明物体98
			{5, 0, 0, 0, 0, 4, 0, 1},
			// 三角石板
			{5, 0, 0, 0, 0, -1, 0, 6},
			// 自定义武器
			{2, 1, 1, 1, 1, -1, 0, 1},
	};
	/**
	 * 物品描述列表
	 */
	public static final String item_desc[] = new String[]{
			"12548",
			"一只烤得香喷喷的鸡腿，用的是新奥尔良秘制配方。",
			"一个香喷喷、热腾腾的大包子，据说里面是上好的黄牛肉馅。",
			"雪山特产，喝起来是既解渴又解饿。",
			"一块青翠碧绿的大豆腐。",
			"上好的猪肉，肯定是没注过水的。",
			"一串可口的糖葫芦，小孩子最爱吃了~",
			"一块白白嫩嫩的大豆腐。",
			"由田七、血竭等药材配制的药剂，专治跌打损伤刀伤烫伤各种伤。",
			"一盒黑油油的药膏，闻上去有一股辛辣清凉的味道，令人精神焕发。",
			"一颗晶莹光洁的丹药，据说是虬髯客采海外精华提炼而成。",
			"一把精钢打制的砍刀，看样子有十来斤左右。",
			"一把锋利的菜刀，看来是用上好的原料打造的，也是件不错的武器。",
			"一把看起相当普通的匕首。",
			"一把不错的扇子，由硬檀香木制做，扇动时有股淡淡的香味。",
			"这柄钩闪烁著寒光，看来甚是锋利，没有手柄。虽用起来有些不变，但却灵活异常。",
			"一把很锋利的钢刀。",
			"一把看起相当普通的长剑，份量大约有十来斤左右。",
			"一种上等铁做成的缝衣针。",
			"一捆结实的绳子，要是勒在脖子上，必死无疑。",
			"一把长而锋利的园工剪刀。",
			"一件精钢制成的杖。",
			"一条普通的长皮鞭。",
			"这把刀入手沉重，刀背上雕有一个狰狞鬼头，鬼头口衔金环，舞动时撞击刀身发出刺耳的声音。",
			"这柄刀厚背薄刃，紫光闪闪，冷气森森，正是传说中的紫金八卦刀。",
			"这条鞭上棱角嶙峋，犹如雨后露珠，鞭身上镂空有梨花之形，正是李青照的成名兵器。",
			"这柄拂尘看上去没什么特别，可尘尾却夹有钢丝，竟可以当软鞭使用。",
			"一把通体碧绿的弯刀，竟如同碧玉雕成。虽然分量不重，但非常趁手。",
			"红拂女不离手的拂尘，尘尾由雪山蛛丝夹杂金丝绞成，是一条厉害的软鞭。",
			"这支萧由通体晶莹圆润的白玉制成，竟是一把趁手的武器。",
			"这把扇子的扇骨是精钢打制的，展开时缘如利刃，乃是一把扇刀。",
			"藤王丸成名的宝刀，刀身狭长且直，两侧各有古朴花纹，入手沉甸甸的。",
			"一条又粗又长的精钢禅杖，上面镶著三个铜环。",
			"一把又细又长的剑，剑身锐利。",
			"一条铁拐，看起来黑黝黝的，分量肯定不轻。",
			"一把锈迹驳驳的铁剑，但相当的锋利。",
			"一把淡绿色的细剑，看起来非常的华丽。",
			"一把淡蓝色的细剑，剑身几乎透明，剑锋处闪著点点寒光，似乎喂了剧毒。",
			"一柄剑身窄细的长剑，只有两指来宽，却甚为锋利。",
			"一件黑油油的衣服，也不知是用什么布料做成的，摸上去十分柔软，可又十分坚韧。",
			"一副老花镜，戴上去试试看，一些东西变得清楚了。",
			"一朵成熟冷静的绿牡丹。",
			"一件很普通的布衣。",
			"一件做工精细的布衣。",
			"用熟牛皮制作的背心，看起来满结实的，就算用匕首也很难划破。",
			"这件粉红色的绸衫上面绣著几只黄鹊，闻起来还有一股淡香。",
			"一朵热烈绽放的红杜鹃。",
			"一双女孩子穿的绣花鞋。",
			"一朵神秘高贵的白玫瑰。",
			"一株生机勃勃的茶花。",
			"一件用当时的提花术织成的绸衣，轻飘飘的，上面有若隐若现的花纹。",
			"一双缎面洒金花的女鞋，小巧玲珑十分可爱。",
			"这件宝蓝色缎衫上用苏绣点缀著青白色的梅花，十分雅致。",
			"一袭紧身短打扮的夜行衣，剪裁十分合身，穿上动作十分利索。",
			"一条朦朦胧胧的纱裙，闻起来还有一股淡香。",
			"一件看起来非常典雅的长裙，却不知是什么制成的。",
			"十兵卫请人特制的眼罩。",
			"一件印有龟仙派标记的披风，穿在身上象鸟的翅膀。",
			"一件印有龟仙派标记的武道服，又轻又耐穿。",
			"一件道袍，上面画有一个太极阴阳鱼。",
			"一件白色的粗布袍，虽然质的并不好，但裁剪精细，看起来风度翩翩。",
			"一件丝绸长袍，质地和裁剪都不错。",
			"一件金线织就的宝甲。",
			"道士作法降魔时穿的道袍。",
			"一件采集百禽羽毛一片片穿成的衣裳，黑的是鹰羽，白的是雁翎。",
			"一件丝制白袍，当胸绣着一只飞扬欲脱的大鹏鸟。",
			"一件银光灿灿的盔甲。",
			"一块色彩斑斓的豹皮，围在身上暖洋洋的。",
			"一本年代久远的拳经，前两页是扎根入门的功夫，后面详细讲解了拳法的精义。",
			"两张焦黄的纸页，上面有一些奇怪的图形，画了一些拳脚招式，可看起来又怪又笨拙。",
			"一本讲解刀法总纲的书，里面有不少图解和文字，深入浅出的讲了不少精义。",
			"这本书上满是字体娟秀的蝇头小楷，记录了经脉运行和打坐周天的诸般法门。",
			"一支毛笔，湘妃竹的笔杆，笔头上还有用过的墨迹。",
			"做工精良的钓杆，很有韧性，是钓鱼的利器。",
			"一条活蹦乱跳的大鲤鱼。",
			"用非常结实的牛皮制成的腰带。",
			"草编的鱼篓，专门用来装鱼的。",
			"一块石料。",
			"上好的美酒，据说喝一瓶能醉上三个月。",
			"古人用来杀龙的刀，可以一击必杀，对人的效果不明。",
			"传说是用定海神针磨成的绣花针。",
			"曾经在武林中引起血雨腥风的武功秘笈，首页写着：欲练此功，必先自……",
			"一本字迹潦草的秘笈。",
			"一本讲解详细的秘笈。",
			"一本言辞古奥的秘笈。",
			"一把特质扳手，原本是调琴用的，被丧心病狂的凸凸用作了凶器。",
			"葫芦科植物，被做成有中药特性的土豪饮品。只可在战斗中使用以增加耐久力，而且不能带太多哦。",
			"顶级人偶师雷真制作的自动人偶，可以让你在战斗中切换到托管模式。",
			"预留88", "预留89", "预留90",
			"预留91", "预留92", "预留93", "预留94",
			"预留95", "预留96", "预留97", "预留98",
			"三角形状的石板，年代相当久远。",
			"这是你自己打造的兵器"
	};
	// [100]
	/**
	 * 物品列表
	 */
	public static final String item_names[] = new String[]{
			"气刃", "烤鸡腿", "包子", "酥油茶", "翡翠豆腐", "猪肉", "糖葫芦", "白玉豆腐", "金创药", "生肌膏",
			"海外仙丹", "钢刀", "菜刀", "匕首", "檀香扇", "护手钩", "杀猪刀", "长剑", "缝衣针", "麻绳",
			"园工剪", "钢杖", "长鞭", "鬼头刀", "紫金刀", "梨花鞭", "拂尘", "柳玉刀", "红拂", "白玉萧",
			"花蝶扇", "河豚毒", "精钢杖", "青锋剑", "铁拐", "铁剑", "楚妃剑", "凝碧剑", "细剑", "黑衣",
			"老花镜", "绿牡丹", "布衣", "精制布衣", "皮背心", "粉红绸衫", "红杜鹃", "绣花小鞋", "白玫瑰", "茶花",
			"轻花绸衫", "洒花缎鞋", "宝蓝缎衫", "夜行衣", "渌水罗衣", "轻纱长裙", "黑眼罩", "披风", "武道服", "道袍",
			"白罗袍", "绸袍", "金锁子甲", "降魔袍", "霓虹羽衣", "雪山白袍", "亮银甲", "豹皮", "拳经", "焦黄纸页",
			"惊天刀谱", "手抄本", "毛笔", "钓竿", "鲤鱼", "牛皮束带", "鱼篓", "石料", "女儿红", "屠龙刀",
			"绣花针", "菜花宝典", "伯通秘籍", "少林秘籍", "参合秘籍", "扳手", "绞股蓝", "夜夜", "预留88", "预留89",
			"预留90", "预留91", "预留92", "预留93", "预留94", "预留95", "预留96", "预留97", "预留98", "三角石板",
			"鬼脸嘟嘟抓"
	};

	/**
	 *
	 */
	public ItemTemplate() {
	}


	public static void init() {
		int i;
		ItemTemplate itm;

		for (i = 0; i < item_names.length; i++) {
			itm = new ItemTemplate();


			//			GmudWorld.wp[i] = new Item();
			itm.setId(i);
			itm.setName(item_names[i]);
			itm.setKind(item_attribs[i][0]);
			itm.setSubkind(item_attribs[i][1]);
			itm.setA3(item_attribs[i][2]);
			itm.setA4(item_attribs[i][3]);
			itm.setA5(item_attribs[i][4]);
			itm.setA6(item_attribs[i][5]);
			itm.setCost(item_attribs[i][6]);
			itm.setPile(item_attribs[i][7]);
			itm.setDes(item_desc[i]);

			if (item_attribs[i].length >= 9)
				for (int j = item_attribs[i][8]; j <= item_attribs[i][9]; j++)
					itm.texture.add(j);

			Gmud.getWp().add(itm);
		}

//		Item.setNullItem(Item.generateItem(0, -1));
	}


	/* （非 Javadoc）
	 * @see java.lang.Object#hashCode()
	 */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + getId();
		return result;
	}


	/* （非 Javadoc）
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		ItemTemplate other = (ItemTemplate) obj;
		if (getId() != other.getId())
			return false;
		return true;
	}


	/**
	 * @return id
	 */
	public int getId() {
		return id;
	}


	/**
	 * @param id 要设置的 id
	 */
	public void setId(int id) {
		this.id = id;
	}


	/**
	 * @return kind
	 */
	public int getKind() {
		return kind;
	}


	/**
	 * @param kind 要设置的 kind
	 */
	public void setKind(int kind) {
		this.kind = kind;
	}


	/**
	 * @return subkind
	 */
	public int getSubkind() {
		return subkind;
	}


	/**
	 * @param subkind 要设置的 subkind
	 */
	public void setSubkind(int subkind) {
		this.subkind = subkind;
	}


	/**
	 * @return name
	 */
	public String getName() {
		return name;
	}


	/**
	 * @param name 要设置的 name
	 */
	public void setName(String name) {
		this.name = name;
	}


	/**
	 * @return a3
	 */
	public int getA3() {
		return a3;
	}


	/**
	 * @param a3 要设置的 a3
	 */
	public void setA3(int a3) {
		this.a3 = a3;
	}


	/**
	 * @return a4
	 */
	public int getA4() {
		return a4;
	}


	/**
	 * @param a4 要设置的 a4
	 */
	public void setA4(int a4) {
		this.a4 = a4;
	}


	/**
	 * @return a5
	 */
	public int getA5() {
		return a5;
	}


	/**
	 * @param a5 要设置的 a5
	 */
	public void setA5(int a5) {
		this.a5 = a5;
	}


	/**
	 * @return a6
	 */
	public int getA6() {
		return a6;
	}


	/**
	 * @param a6 要设置的 a6
	 */
	public void setA6(int a6) {
		this.a6 = a6;
	}


	/**
	 * @return cost
	 */
	public int getCost() {
		return cost;
	}


	/**
	 * @param cost 要设置的 cost
	 */
	public void setCost(int cost) {
		this.cost = cost;
	}


	/**
	 * @return des
	 */
	public String getDes() {
		return des;
	}


	/**
	 * @param des 要设置的 des
	 */
	public void setDes(String des) {
		this.des = des;
	}


	/**
	 * @return pile
	 */
	public int getPile() {
		return pile;
	}


	/**
	 * @param pile 要设置的 pile
	 */
	public void setPile(int pile) {
		this.pile = pile;
	}
}
